/**
new关键字的机制：
    new后面可以跟非限制函数(async,箭头函数，立即执行函数)
    new之后会执行一下几步操作：
        1.创建一个空对象
        2.挂载原型
        3.将创建的空对象作为this的载体
        4.执行构造函数代码
        5.如果return的是对象则返回对象,如果不是则返回创建的这个对象 
 */


class Preson {
    constructor(name,age,gender){ 
        this.name=name,
        this.age=age,
        this.gender=gender
    }
    // 类字段初始化
    a=10
}

const zengyujie = new Preson('曾宇杰',18,'男')
console.log(zengyujie)


function test(name,age){
    this.name = name 
    this.age = age
    // 这里的a不会被共享,为什么? 因为是局部变量并且并没有挂载到this上
    a=10
}

const test1= new test('zmq',21)
console.log(test1)